--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
scripts/osv_scan.sh f0ab00e9cc0d48af030c2e97643f2a176fa73199 (f0ab00e9) Text, 951 B
T8b949e#!/usr/bin/env bash
Tffa657set -euo pipefail
Te6edf3OSV_VERSIONTff7b72=Ta5d6ff"Tffd700${Te6edf3OSV_VERSIONTff7b72:-Te6edf3v2Tb4b4b4.3.1Tffd700}Ta5d6ff"
Tffa657echo Ta5d6ff"Ta5d6ffInstalling OSV-Scanner Tffd700${Te6edf3OSV_VERSIONTffd700}Ta5d6ff...Ta5d6ff"
curl -sSL Ta5d6ff"Ta5d6ffhttps://github.com/google/osv-scanner/releases/download/Tffd700${Te6edf3OSV_VERSIONTffd700}Ta5d6ff/osv-scanner_linux_amd64Ta5d6ff" -o /tmp/osv-scanner
chmod +x /tmp/osv-scanner
sudo mv /tmp/osv-scanner /usr/local/bin/osv-scanner
Tffa657echo Ta5d6ff"Running OSV-Scanner recursively..."
Te6edf3OSV_JSONTff7b72=Ta5d6ff"Tff7b72$(mktempTff7b72)Ta5d6ff"
Tffa657trap Ta5d6ff'rm -f "$OSV_JSON"' EXIT
osv-scanner --recursive ./ --format json > Ta5d6ff"Te6edf3$OSV_JSONTa5d6ff" Tff7b72|| Tffa657true
Tff7b72if ! Tffa657command -v jq >/dev/null T79c0ff2>Tb4b4b4&T79c0ff1Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Error: jq is not installed. Please install jq to parse OSV results."
Tffa657exit T79c0ff1
Tff7b72fi
Te6edf3VULNSTff7b72=Tff7b72$(jq -r Ta5d6ff'
.results[]? |
.source as $src |
.vulns[]? |
"\(.id) (source: \($src))"
' Ta5d6ff"Te6edf3$OSV_JSONTa5d6ff"Tff7b72)
Tff7b72if Tff7b72[ -n Ta5d6ff"Te6edf3$VULNSTa5d6ff" Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"OSV scan found vulnerabilities:"
Tffa657echo Ta5d6ff"Te6edf3$VULNSTa5d6ff" Tb4b4b4| Tff7b72while Te6edf3IFSTff7b72= Tffa657read -r lineTb4b4b4; Tff7b72do
Tffa657echo Ta5d6ff"Ta5d6ff - Te6edf3$lineTa5d6ff"
Tff7b72done
Tffa657exit T79c0ff1
Tff7b72else
Tffa657echo Ta5d6ff"OSV scan: no vulnerabilities found."
Tff7b72fi
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────